package net.jadoth.util.strings;
/**
 * 
 */

/**
 * @author Thomas Muenz
 *
 */
public interface Nameable extends Named
{
	public Nameable setName(String name);
	
	
	
	public class Implementation implements Nameable
	{
		///////////////////////////////////////////////////////////////////////////
		// instance fields  //
		/////////////////////
		
		private String name;

		
		
		///////////////////////////////////////////////////////////////////////////
		// constructors     //
		/////////////////////
		
		Implementation(final String name)
		{
			super();
			this.name = name;
		}

		
		
		///////////////////////////////////////////////////////////////////////////
		// getters          //
		/////////////////////
		
		/**
		 * @return
		 * @see net.jadoth.util.strings.Named#getName()
		 */
		@Override
		public String getName()
		{
			return this.name;
		}

		
		
		///////////////////////////////////////////////////////////////////////////
		// setters          //
		/////////////////////
		
		public Implementation setName(final String name)
		{
			this.name = name;
			return this;
		}			
		
	}
	
}
